import moment from 'moment'
import fileType from '@/utils/fileType'
// 文件缩略图预览
export function fileThumbnail(data, type) {
  let thumbnailSrc = ''
  if (typeof data == 'string') {
    //1.data为附件类型
    let cur = fileType.filter((v) => v.attrSuffixStr == data)
    thumbnailSrc = cur.length ? cur[0].src : ''
  } else if (typeof data == 'object') {
    if (data.hasOwnProperty('attrSuffixStr')) {
      //2.data为附件对象
      thumbnailSrc = findFileInfo(data, type)
    } else if (data.hasOwnProperty('sysAttachment')) {
      //3.附件包含在对象的sysAttachment中
      thumbnailSrc = findFileInfo(data.sysAttachment, type)
    }
  }
  //如果没有匹配到类型，返回other的类型
  if (!thumbnailSrc) {
    thumbnailSrc = fileType.filter((v) => v.attrSuffixStr == 'other')[0].src
  }
  return thumbnailSrc
}
//根据文件类型返回缩略图
function findFileInfo(data, type) {
  //type 显示缩略图还是真实地址
  let curFile = fileType.filter((v) => v.attrSuffixStr == data.attrSuffixStr)[0]
  if (!curFile) return
  if (type) {
    return curFile.show ? data.httpUrl : curFile.src
  } else {
    return curFile.src
  }
}

//用户格式
export function showUserInfo(data) {
  if (!data) return '--'
  return data.userName + (data.account ? ' (' + data.account + ')' : '')
}
//单位格式
export function deptFormat(data) {
  if (!data) return '--'
  return data.substr(0, data.length - 1).slice(1)
}
//去除html标签
export function htmlFormat(data) {
  if (!data) return '暂无数据'
  return data.replace(/<\/?.+?>/g, '')
}
//时间格式
export function timecycle(time) {
  if (!time) return '--'
  return moment(time).format('YYYY-MM-DD HH:mm:ss')
}
export function timecycleYMD(time) {
  if (!time) return '--'
  return moment(time).format('YYYY-MM-DD')
}
export function timecycleD(time) {
  if (!time) return '--'
  return moment(time).format('DD')
}
export function timecycleYM(time) {
  if (!time) return '--'
  return moment(time).format('YYYY.MM')
}
//资源大小
export function fileSizeFilter(size) {
  if (!size) return '--'
  size = parseInt(size)
  if (size == 0) return 0
  var data = ''
  if (size < 0.1 * 1024) {
    data = size.toFixed(2) + 'B'
  } else if (size < 0.1 * 1024 * 1024) {
    data = (size / 1024).toFixed(2) + 'KB'
  } else if (size < 0.1 * 1024 * 1024 * 1024) {
    data = (size / (1024 * 1024)).toFixed(2) + 'MB'
  } else {
    data = (size / (1024 * 1024 * 1024)).toFixed(2) + 'GB'
  }
  var sizestr = data + ''
  var len = sizestr.indexOf('.')
  var dec = sizestr.substr(len + 1, 2)
  if (dec == '00') {
    return sizestr.substring(0, len) + sizestr.substr(len + 3, 2)
  }
  return sizestr
}
//审核类型
export function auditType(data) {
  switch (data) {
    case '1':
      return '课程元素库'
    case '2':
      return '专业元素库'
    case '3':
      return '兵种元素库'
    case '4':
      return '专题库'
    case '5':
      return '示范微视频'
    case '6':
      return '培训资源'
    case '11':
      return '用户审核'
    case '21':
      return '思政元素'
  }
}
//通过课程类型 获取课程名称
export function fiterCategoryLabels(type) {
  switch (type) {
    case '1':
      return '课程库'
    case '2':
      return '专业库'
    case '3':
      return '兵种库'
    case '4':
      return '专题库'
    case '5':
      return '示范微视频'
    case '6':
      return '培训资源'
    default:
      return ''
  }
}
